package com.yhsimon.flyweight;

/**
 * @author： YHSimon
 * @date： 2021-10-04 18:41
 */

//对于网站而言，发布形式type为内部状态（固定三种）  而使用者User是外部状态
public class Client {
    public static void main(String[] args) {
        //创建一个工厂
        WebsiteFactory factory = new WebsiteFactory();

        //客户要一个以新闻形式发布的网站
        Website website1 = factory.getWebsiteCategory("新闻");

        website1.use(new User("zs"));

        //另一个客户要一个以博客形式发布的网站
        Website website2 = factory.getWebsiteCategory("博客");
        website2.use(new User("ls"));

        Website website3 = factory.getWebsiteCategory("博客");
        website3.use(new User("ww"));

        System.out.println(factory.getWebsiteCount());
        System.out.println(website2.hashCode()==website3.hashCode());
    }
}
